import React from 'react';
import Icon from '@ant-design/icons';

const PdfSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <path
      d="M981.333333 276.053333V981.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V42.666667a42.666667 42.666667 0 0 1 42.666666-42.666667h619.946667z"
      fill="#FC5A5A"/>
    <path d="M705.28 233.386667V0L981.333333 276.053333H747.946667a42.666667 42.666667 0 0 1-42.666667-42.666666z"
          fill="#FD9796"/>
    <path
      d="M252.586667 715.52H224A10.666667 10.666667 0 0 1 213.333333 704V490.666667a10.666667 10.666667 0 0 1 10.666667-10.666667h62.293333q95.786667-1.28 95.786667 72.746667-2.56 69.12-81.706667 72.96h-37.12V704a10.666667 10.666667 0 0 1-10.666666 11.52z m10.666666-196.906667v66.56q3.84 0 15.36 1.28c33.92 3.413333 50.56-8.106667 49.706667-34.56 0-23.04-16.426667-34.133333-49.706667-33.28a34.986667 34.986667 0 0 1-15.36 0zM417.493333 704V490.666667a10.666667 10.666667 0 0 1 10.666667-10.666667h69.76c78.506667 0 117.973333 40.533333 119.04 118.826667s-40.533333 117.546667-119.04 117.546666h-69.76a10.666667 10.666667 0 0 1-10.666667-12.373333z m49.706667-186.24v157.44h26.88q70.4 2.56 69.12-78.08t-69.12-79.36zM697.813333 715.52h-28.586666a10.666667 10.666667 0 0 1-10.666667-10.666667V490.666667a10.666667 10.666667 0 0 1 10.666667-10.666667h130.773333a10.666667 10.666667 0 0 1 10.666667 10.666667v18.133333a10.666667 10.666667 0 0 1-10.666667 10.666667h-91.52V576h85.333333a10.666667 10.666667 0 0 1 10.666667 10.666667v18.346666a10.666667 10.666667 0 0 1-10.666667 10.666667h-85.333333V704a10.666667 10.666667 0 0 1-10.666667 11.52z"
      fill="#FFFFFF"/>
  </svg>
);

const PptSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1"
       xmlns="http://www.w3.org/2000/svg">
    <path
      d="M981.333333 276.053333V981.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V42.666667a42.666667 42.666667 0 0 1 42.666666-42.666667h619.946667z"
      fill="#FE9843"/>
    <path d="M705.28 233.386667V0L981.333333 276.053333H747.946667a42.666667 42.666667 0 0 1-42.666667-42.666666z"
          fill="#FDBF8A"/>
    <path
      d="M341.333333 842.666667m0-26.666667l0-373.333333q0-26.666667 26.666667-26.666667l0 0q26.666667 0 26.666667 26.666667l0 373.333333q0 26.666667-26.666667 26.666667l0 0q-26.666667 0-26.666667-26.666667Z"
      fill="#FFFFFF"/>
    <path
      d="M548.48 416h-180.48A26.666667 26.666667 0 0 0 341.333333 442.666667v202.666666a26.666667 26.666667 0 0 0 26.666667 26.666667H554.666667a128 128 0 0 0 128-123.946667 132.906667 132.906667 0 0 0-134.186667-132.053333z m55.893333 188.373333a85.333333 85.333333 0 0 1-60.373333 24.96h-122.666667a26.666667 26.666667 0 0 1-26.666666-26.666666v-117.333334a26.666667 26.666667 0 0 1 26.666666-26.666666h117.12a89.173333 89.173333 0 0 1 90.666667 90.24 85.333333 85.333333 0 0 1-24.746667 55.466666z"
      fill="#FFFFFF"/>
  </svg>
);

const ImgSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1"
       xmlns="http://www.w3.org/2000/svg">
    <path
      d="M0 0m93.090909 0l837.818182 0q93.090909 0 93.090909 93.090909l0 837.818182q0 93.090909-93.090909 93.090909l-837.818182 0q-93.090909 0-93.090909-93.090909l0-837.818182q0-93.090909 93.090909-93.090909Z"
      fill="#FCCC44"/>
    <path
      d="M474.259957 732.347425m-20.570379-20.570379l-123.422274-123.422275q-20.570379-20.570379 0-41.140758l0 0q20.570379-20.570379 41.140758 0l123.422274 123.422275q20.570379 20.570379 0 41.140758l0 0q-20.570379 20.570379-41.140758 0Z"
      fill="#FFFFFF"/>
    <path
      d="M116.674487 760.712755m20.570379-20.570379l190.893118-190.893118q20.570379-20.570379 41.140758 0l0 0q20.570379 20.570379 0 41.140758l-190.893118 190.893118q-20.570379 20.570379-41.140758 0l0 0q-20.570379-20.570379 0-41.140758Z"
      fill="#FFFFFF"/>
    <path
      d="M708.096739 430.492437m14.545455 25.193466l168.727272 292.244209q14.545455 25.193466-10.648011 39.738921l0 0q-25.193466 14.545455-39.738921-10.648012l-168.727273-292.244209q-14.545455-25.193466 10.648012-39.738921l0 0q25.193466-14.545455 39.738921 10.648012Z"
      fill="#FFFFFF"/>
    <path
      d="M365.862441 760.948259m20.570379-20.570379l290.453752-290.453752q20.570379-20.570379 41.140759 0l0 0q20.570379 20.570379 0 41.140758l-290.453753 290.453752q-20.570379 20.570379-41.140758 0l0 0q-20.570379-20.570379 0-41.140758Z"
      fill="#FFFFFF"/>
    <path
      d="M209.454545 209.454545m-69.818181 0a69.818182 69.818182 0 1 0 139.636363 0 69.818182 69.818182 0 1 0-139.636363 0Z"
      fill="#FFFFFF"/>
  </svg>
);

const TxtSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1"
       xmlns="http://www.w3.org/2000/svg">
    <path
      d="M981.333333 276.053333V981.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V42.666667a42.666667 42.666667 0 0 1 42.666666-42.666667h619.946667z"
      fill="#4C98FC"/>
    <path d="M705.28 233.386667V0L981.333333 276.053333H747.946667a42.666667 42.666667 0 0 1-42.666667-42.666666z"
          fill="#A5D1FD"/>
    <path
      d="M167.04 489.386667m26.666667 0l160 0q26.666667 0 26.666666 26.666666l0 0q0 26.666667-26.666666 26.666667l-160 0q-26.666667 0-26.666667-26.666667l0 0q0-26.666667 26.666667-26.666666Z"
      fill="#FFFFFF"/>
    <path
      d="M300.373333 542.72v229.333333a26.666667 26.666667 0 0 1-26.666666 26.666667 26.666667 26.666667 0 0 1-26.666667-26.666667V542.72h53.333333z"
      fill="#FFFFFF"/>
    <path
      d="M653.866667 489.386667m26.666666 0l160 0q26.666667 0 26.666667 26.666666l0 0q0 26.666667-26.666667 26.666667l-160 0q-26.666667 0-26.666666-26.666667l0 0q0-26.666667 26.666666-26.666666Z"
      fill="#FFFFFF"/>
    <path
      d="M787.2 542.72v229.333333a26.666667 26.666667 0 0 1-26.666667 26.666667 26.666667 26.666667 0 0 1-26.666666-26.666667V542.72h53.333333z"
      fill="#FFFFFF"/>
    <path
      d="M430.43932 531.537782m18.856181 18.856181l173.476863 173.476863q18.856181 18.856181 0 37.712362l0 0q-18.856181 18.856181-37.712361 0l-173.476864-173.476864q-18.856181-18.856181 0-37.712361l0 0q18.856181-18.856181 37.712362 0Z"
      fill="#FFFFFF"/>
    <path
      d="M392.650461 742.693177m18.856181-18.856181l173.476864-173.476863q18.856181-18.856181 37.712361 0l0 0q18.856181 18.856181 0 37.712361l-173.476863 173.476864q-18.856181 18.856181-37.712362 0l0 0q-18.856181-18.856181 0-37.712362Z"
      fill="#FFFFFF"/>
  </svg>
);

const UnknownSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1"
       xmlns="http://www.w3.org/2000/svg">
    <path
      d="M981.333333 276.053333V981.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V42.666667a42.666667 42.666667 0 0 1 42.666666-42.666667h619.946667z"
      fill="#B9C9D5"/>
    <path d="M705.28 233.386667V0L981.333333 276.053333H747.946667a42.666667 42.666667 0 0 1-42.666667-42.666666z"
          fill="#D6E4F0"/>
    <path
      d="M282.453333 832a168.32 168.32 0 0 1-74.453333-221.866667 161.493333 161.493333 0 0 1 102.186667-87.893333c18.773333-97.493333 101.973333-151.04 201.813333-151.04s183.04 53.546667 201.813333 151.04A167.68 167.68 0 0 1 741.76 832a22.4 22.4 0 0 1-30.293333-11.306667 24.106667 24.106667 0 0 1 10.666666-31.573333 120.32 120.32 0 0 0 52.906667-158.08 114.133333 114.133333 0 0 0-102.826667-66.56c0-91.306667-71.68-145.28-160-145.28s-160 53.973333-160 145.28A116.266667 116.266667 0 0 0 237.653333 682.666667a118.826667 118.826667 0 0 0 65.28 106.666666 24.106667 24.106667 0 0 1 10.24 31.786667 22.826667 22.826667 0 0 1-30.72 10.453333z"
      fill="#FFFFFF"/>
    <path
      d="M489.173333 775.466667c2.346667-56.533333 68.48-90.026667 68.48-115.84a45.653333 45.653333 0 1 0-91.306666 0 23.04 23.04 0 1 1-45.866667 0 91.52 91.52 0 1 1 183.04 0c0 52.266667-69.12 65.28-68.48 118.186666a22.826667 22.826667 0 1 1-45.653333 0z"
      fill="#FFFFFF"/>
    <path d="M512 856.96m-23.466667 0a23.466667 23.466667 0 1 0 46.933334 0 23.466667 23.466667 0 1 0-46.933334 0Z"
          fill="#FFFFFF"/>
  </svg>
);

const WordSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1"
       xmlns="http://www.w3.org/2000/svg">
    <path
      d="M981.333333 276.053333V981.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V42.666667a42.666667 42.666667 0 0 1 42.666666-42.666667h619.946667z"
      fill="#4C98FC"/>
    <path d="M705.28 233.386667V0L981.333333 276.053333H747.946667a42.666667 42.666667 0 0 1-42.666667-42.666666z"
          fill="#A5D1FD"/>
    <path
      d="M281.813333 821.333333m0-26.666666l0-330.666667q0-26.666667 26.666667-26.666667l0 0q26.666667 0 26.666667 26.666667l0 330.666667q0 26.666667-26.666667 26.666666l0 0q-26.666667 0-26.666667-26.666666Z"
      fill="#FFFFFF"/>
    <path
      d="M270.714615 794.58437m18.85618-18.856181l203.646753-203.646753q18.856181-18.856181 37.712362 0l0 0q18.856181 18.856181 0 37.712362l-203.646753 203.646753q-18.856181 18.856181-37.712362 0l0 0q-18.856181-18.856181 0-37.712362Z"
      fill="#FFFFFF"/>
    <path
      d="M511.989199 553.286667m18.856181 18.856181l203.646753 203.646753q18.856181 18.856181 0 37.712362l0 0q-18.856181 18.856181-37.712362 0l-203.646753-203.646753q-18.856181-18.856181 0-37.712362l0 0q18.856181-18.856181 37.712362 0Z"
      fill="#FFFFFF"/>
    <path
      d="M688.853333 821.333333m0-26.666666l0-330.666667q0-26.666667 26.666667-26.666667l0 0q26.666667 0 26.666667 26.666667l0 330.666667q0 26.666667-26.666667 26.666666l0 0q-26.666667 0-26.666667-26.666666Z"
      fill="#FFFFFF"/>
  </svg>
);

const XlsSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1"
       xmlns="http://www.w3.org/2000/svg">
    <path
      d="M981.333333 276.053333V981.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V42.666667a42.666667 42.666667 0 0 1 42.666666-42.666667h619.946667z"
      fill="#63C320"/>
    <path d="M705.28 233.386667V0L981.333333 276.053333H747.946667a42.666667 42.666667 0 0 1-42.666667-42.666666z"
          fill="#9FDB76"/>
    <path
      d="M687.092982 843.138039m-18.670985-19.039575l-351.014533-357.944003q-18.670986-19.039575 0.368589-37.71056l0 0q19.039575-18.670986 37.710561 0.368589l351.014532 357.944003q18.670986 19.039575-0.368589 37.71056l0 0q-19.039575 18.670986-37.71056-0.368589Z"
      fill="#FFFFFF"/>
    <path
      d="M298.702057 805.667148m18.670986-19.039574l351.014532-357.944003q18.670986-19.039575 37.710561-0.368589l0 0q19.039575 18.670986 0.368588 37.71056l-351.014532 357.944003q-18.670986 19.039575-37.71056 0.368589l0 0q-19.039575-18.670986-0.368589-37.71056Z"
      fill="#FFFFFF"/>
  </svg>
);

const ZipSvg = () => (
  <svg className="icon" width="2em" height="2em" viewBox="0 0 1024 1024" version="1.1"
       xmlns="http://www.w3.org/2000/svg">
    <path
      d="M0 0m46.545455 0l930.90909 0q46.545455 0 46.545455 46.545455l0 930.90909q0 46.545455-46.545455 46.545455l-930.90909 0q-46.545455 0-46.545455-46.545455l0-930.90909q0-46.545455 46.545455-46.545455Z"
      fill="#F75C65"/>
    <path
      d="M46.545455 0h930.90909a46.545455 46.545455 0 0 1 46.545455 46.545455v279.272727H0V46.545455a46.545455 46.545455 0 0 1 46.545455-46.545455z"
      fill="#4CC8FD"/>
    <path
      d="M0 698.181818h1024v279.272727a46.545455 46.545455 0 0 1-46.545455 46.545455H46.545455a46.545455 46.545455 0 0 1-46.545455-46.545455V698.181818z"
      fill="#83CC39"/>
    <path d="M372.363636 0h279.272728v1024H372.363636z" fill="#FEAB41"/>
    <path
      d="M663.272727 628.363636h-302.545454a34.909091 34.909091 0 0 1-34.909091-34.909091v-162.90909a34.909091 34.909091 0 0 1 34.909091-34.909091h302.545454a34.909091 34.909091 0 0 1 34.909091 34.909091v162.90909a34.909091 34.909091 0 0 1-34.909091 34.909091zM372.363636 581.818182h279.272728v-139.636364H372.363636z"
      fill="#FFFFFF"/>
  </svg>
);

const PdfIcon = props => <Icon component={PdfSvg} {...props} />;
const PptIcon = props => <Icon component={PptSvg} {...props} />;
const ImgIcon = props => <Icon component={ImgSvg} {...props} />;
const TxtIcon = props => <Icon component={TxtSvg} {...props} />;
const UnknownIcon = props => <Icon component={UnknownSvg} {...props} />;
const WordIcon = props => <Icon component={WordSvg} {...props} />;
const XlsIcon = props => <Icon component={XlsSvg} {...props} />;
const ZipIcon = props => <Icon component={ZipSvg} {...props} />;

const MyIcon = (props) => {
  const {type} = props;
  if(type === "pdf"){
    return <PdfIcon {...props} />;
  }else if(type === 'ppt'){
    return <PptIcon {...props} />;
  }else if(type === 'img'){
    return <ImgIcon {...props} />;
  }else if(type === 'txt'){
    return <TxtIcon {...props} />;
  }else if(type === 'word'){
    return <WordIcon {...props} />;
  }else if(type === 'xls' || type === 'xlsx'){
    return <XlsIcon {...props} />;
  }else if(type === 'zip'){
    return <ZipIcon {...props} />;
  }else{ //未知文件
    return <UnknownIcon {...props} />;
  }
};

export default MyIcon;
